package com.splant.android.smart.SystemDefinedLevel.Services;

import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.SystemClock;

/**
 * Created with IntelliJ IDEA.
 * User: bill
 * Date: 13-11-6
 * Time: 上午10:34
 * To change this template use File | Settings | File Templates.
 */
public class ServiceUtils {
    //开启服务
    public static void startPollingService(Context context, int second, Class<?> cls, String action)  {
        //获取AlarmManager系统服务
        AlarmManager manager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
        //包装需要执行Service的Intent
        Intent intent = new Intent(context, cls);
        intent.setAction(action);
        PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
//        GlobalConfig.pendingIntent=pendingIntent;
//        GlobalConfig.mainContext=context;
        //触发服务的起始时间
        long triggerAtTime = SystemClock.elapsedRealtime();
        //使用AlarmManger的setRepeating方法设置定期执行的时间间隔（seconds秒）和需要执行的Service
        manager.setRepeating(AlarmManager.ELAPSED_REALTIME, triggerAtTime, second*1000, pendingIntent);

    }
    //停止服务
    public static void stopPollingService(Context context, Class<?> cls, String action) {
        AlarmManager manager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
        Intent intent = new Intent(context, cls);
        intent.setAction(action);
        PendingIntent pendingIntent = PendingIntent.getService(context, 0,intent, PendingIntent.FLAG_UPDATE_CURRENT);
        context.stopService(intent);
        //取消正在执行的服务
        manager.cancel(pendingIntent);
    }

}
